package com.chenwc.aliyunoss;

/**
 * 公共云下OSS Region和Endpoint
 *
 * @author chenwc
 */

public enum EndpointEnum {
    //oss.aliyuncs.com默认指向华东1（杭州）地域外网地址。
    //oss-internal.aliyuncs.com默认指向华东1（杭州）地域内网地址。
    //华东1（杭州）
    OSS_CN_HANGZHOU("oss-cn-hangzhou", "oss-cn-hangzhou.aliyuncs.com", "oss-cn-hangzhou-internal.aliyuncs.com"),
    //华东2（上海）
    OSS_CN_SHANGHAI("oss-cn-shanghai", "oss-cn-shanghai.aliyuncs.com", "oss-cn-shanghai-internal.aliyuncs.com"),
    //华东5（南京-本地地域）
    OSS_CN_NANJING("oss-cn-nanjing", "oss-cn-nanjing.aliyuncs.com", "oss-cn-nanjing-internal.aliyuncs.com"),
    //华东6（福州-本地地域）
    OSS_CN_FUZHOU("oss-cn-fuzhou", "oss-cn-fuzhou.aliyuncs.com", "oss-cn-fuzhou-internal.aliyuncs.com"),
    //华中1（武汉-本地地域）
    OSS_CN_WUHAN("oss-cn-wuhan", "oss-cn-wuhan-lr.aliyuncs.com", "oss-cn-wuhan-lr-internal.aliyuncs.com"),
    //华北1（青岛）
    OSS_CN_QINGDAO("oss-cn-qingdao", "oss-cn-qingdao.aliyuncs.com", "oss-cn-qingdao-internal.aliyuncs.com"),
    //华北2（北京）
    OSS_CN_BEIJING("oss-cn-beijing", "oss-cn-beijing.aliyuncs.com", "oss-cn-beijing-internal.aliyuncs.com"),
    //华北 3（张家口）
    OSS_CN_ZHANGJIAKOU("oss-cn-zhangjiakou", "oss-cn-zhangjiakou.aliyuncs.com", "oss-cn-zhangjiakou-internal.aliyuncs.com"),
    //华北5（呼和浩特）
    OSS_CN_HUHEHAOTE("oss-cn-huhehaote", "oss-cn-huhehaote.aliyuncs.com", "oss-cn-huhehaote-internal.aliyuncs.com"),
    //华北6（乌兰察布）
    OSS_CN_WULANCHABU("oss-cn-wulanchabu", "oss-cn-wulanchabu.aliyuncs.com", "oss-cn-wulanchabu-internal.aliyuncs.com"),
    //华南1（深圳）
    OSS_CN_SHENZHEN("oss-cn-shenzhen", "oss-cn-shenzhen.aliyuncs.com", "oss-cn-shenzhen-internal.aliyuncs.com"),
    //华南2（河源）
    OSS_CN_HEYUAN("oss-cn-heyuan", "oss-cn-heyuan.aliyuncs.com", "oss-cn-heyuan-internal.aliyuncs.com"),
    //华南3（广州）
    OSS_CN_GUANGZHOU("oss-cn-guangzhou", "oss-cn-guangzhou.aliyuncs.com", "oss-cn-guangzhou-internal.aliyuncs.com"),
    //西南1（成都）
    OSS_CN_CHENGDU("oss-cn-chengdu", "oss-cn-chengdu.aliyuncs.com", "oss-cn-chengdu-internal.aliyuncs.com"),
    //中国香港
    OSS_CN_HONGKONG("oss-cn-hongkong", "oss-cn-hongkong.aliyuncs.com", "oss-cn-hongkong-internal.aliyuncs.com"),
    //美国（硅谷）①
    OSS_US_WEST_1("oss-us-west-1", "oss-us-west-1.aliyuncs.com", "oss-us-west-1-internal.aliyuncs.com"),
    //美国（弗吉尼亚）①
    OSS_US_EAST_1("oss-us-east-1", "oss-us-east-1.aliyuncs.com", "oss-us-east-1-internal.aliyuncs.com"),
    //日本（东京）①
    OSS_AP_NORTHEAST_1("oss-ap-northeast-1", "oss-ap-northeast-1.aliyuncs.com", "oss-ap-northeast-1-internal.aliyuncs.com"),
    //韩国（首尔）
    OSS_AP_NORTHEAST_2("oss-ap-northeast-2", "oss-ap-northeast-2.aliyuncs.com", "oss-ap-northeast-2-internal.aliyuncs.com"),
    //新加坡①
    OSS_AP_SOUTHEAST_1("oss-ap-southeast-1", "oss-ap-southeast-1.aliyuncs.com", "oss-ap-southeast-1-internal.aliyuncs.com"),
    //澳大利亚（悉尼）①
    OSS_AP_SOUTHEAST_2("oss-ap-southeast-2", "oss-ap-southeast-2.aliyuncs.com", "oss-ap-southeast-2-internal.aliyuncs.com"),
    //马来西亚（吉隆坡）①
    OSS_AP_SOUTHEAST_3("oss-ap-southeast-3", "oss-ap-southeast-3.aliyuncs.com", "oss-ap-southeast-3-internal.aliyuncs.com"),
    //印度尼西亚（雅加达）①
    OSS_AP_SOUTHEAST_5("oss-ap-southeast-5", "oss-ap-southeast-5.aliyuncs.com", "oss-ap-southeast-5-internal.aliyuncs.com"),
    //菲律宾（马尼拉）
    OSS_AP_SOUTHEAST_6("oss-ap-southeast-6", "oss-ap-southeast-6.aliyuncs.com", "oss-ap-southeast-6-internal.aliyuncs.com"),
    //泰国（曼谷）
    OSS_AP_SOUTHEAST_7("oss-ap-southeast-7", "oss-ap-southeast-7.aliyuncs.com", "oss-ap-southeast-7-internal.aliyuncs.com"),
    //印度（孟买）①
    OSS_AP_SOUTH_1("oss-ap-south-1", "oss-ap-south-1.aliyuncs.com", "oss-ap-south-1-internal.aliyuncs.com"),
    //德国（法兰克福）①
    OSS_EU_CENTRAL_1("oss-eu-central-1", "oss-eu-central-1.aliyuncs.com", "oss-eu-central-1-internal.aliyuncs.com"),
    //英国（伦敦）
    OSS_EU_WEST_1("oss-eu-west-1", "oss-eu-west-1.aliyuncs.com", "oss-eu-west-1-internal.aliyuncs.com"),
    //阿联酋（迪拜）①
    OSS_ME_EAST_1("oss-me-east-1", "oss-me-east-1.aliyuncs.com", "oss-me-east-1-internal.aliyuncs.com"),
    //无地域属性（中国内地）
    OSS_RG_CHINA_MAINLAND("oss-rg-china-mainland", "oss-rg-china-mainland.aliyuncs.com", "不支持");


    /**
     * 存储区域ID
     */
    private String regionId;
    /**
     * 外部访问域名
     */
    private String externalEndpoint;
    /**
     * 内部访问域名
     */
    private String internalEndpoint;

    EndpointEnum(String regionId, String externalEndpoint, String internalEndpoint) {
        this.regionId = regionId;
        this.externalEndpoint = externalEndpoint;
        this.internalEndpoint = internalEndpoint;
    }

    public String getRegionId() {
        return regionId;
    }

    public void setRegionId(String regionId) {
        this.regionId = regionId;
    }

    public String getExternalEndpoint() {
        return externalEndpoint;
    }

    public void setExternalEndpoint(String externalEndpoint) {
        this.externalEndpoint = externalEndpoint;
    }

    public String getInternalEndpoint() {
        return internalEndpoint;
    }

    public void setInternalEndpoint(String internalEndpoint) {
        this.internalEndpoint = internalEndpoint;
    }
}
